package com.yic.module.mes.controller.admin.reportworkhours.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 报工工时 Response VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class ReportWorkHoursFormsRespVO extends ReportWorkHoursBaseVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private Long id;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "工厂", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private Long factoryId;

    @Schema(description = "工厂", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String factoryName;

    @Schema(description = "生产车间", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private Long workshopId;

    @Schema(description = "生产车间", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String workshopName;

    @Schema(description = "生产工单", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private Long moId;

    @Schema(description = "生产工单", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String moCode;

    @Schema(description = "计划批号", example = "25255")
    private String batchNo;

    @Schema(description = "备注", example = "25255")
    private String remark;

    @Schema(description = "产品", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private Long itemId;

    @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String itemName;

    @Schema(description = "产品代码", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String itemCode;

    @Schema(description = "产品规格", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String itemSpec;

    @Schema(description = "产品图号", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String drawCode;

    @Schema(description = "工序", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private Long processId;

    @Schema(description = "工序", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String processName;

    @Schema(description = "报工数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private BigDecimal reportAmount;

    @Schema(description = "报工人", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private String userName;

    @Schema(description = "合计报工数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "25255")
    private BigDecimal reportAmountSum;

    @Schema(description = "工时合计", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal totalSum;

}
